Emmanuele Bassi [Wed, 21 Apr 2021 10:43:16 +0000 (11:43 +0100)]
a11y: Update the labelled-by relation of GtkTreeExpander
Whenever we change the :child property, we need to update the
labelled-by relation.
Emmanuele Bassi [Wed, 21 Apr 2021 10:14:28 +0000 (11:14 +0100)]
a11y: Set state on the GtkTreeExpander widget
Instead of setting it on its internal child.
Emmanuele Bassi [Wed, 21 Apr 2021 09:20:04 +0000 (10:20 +0100)]
a11y: Pair window:activate with window:deactivate signal
Orca needs both events in order to decide whether or not to subscribe to
other event/state changes in a window.
Matthias Clasen [Wed, 21 Apr 2021 00:35:22 +0000 (20:35 -0400)]
a11y: Realize notebook tabs when switching
We're not moving focus here, so we can't rely
on that to conjure the a11y objects into existence.
Matthias Clasen [Tue, 20 Apr 2021 17:23:56 +0000 (13:23 -0400)]
a11y: Avoid spurious selection changed events
Only send selection-changed events when we either
had a non-empty selection before, or have one now.
This should help orca speak the right things, and
not the wrong things.
Related: #3549
Emmanuele Bassi [Tue, 20 Apr 2021 16:24:13 +0000 (17:24 +0100)]
a11y: Emit window:activate event
Orca uses the window:activate event type to track top levels, and avoid
being spammed by events coming from non-focused windows.
Matthias Clasen [Tue, 20 Apr 2021 02:11:55 +0000 (22:11 -0400)]
stackswitcher: Set accessible label properties
This makes the tabs in about dialogs come out as
'About', 'Credits', and 'System', instead of
'Tab', 'Tab', 'Tab'.
Matthias Clasen [Tue, 20 Apr 2021 01:29:17 +0000 (21:29 -0400)]
a11y: Emit focus events
Orca relies on these to keep track of the focus location,
ignoring the focused state. With this change, orca can
once again speak text in entries as I type.
Matthias Clasen [Tue, 20 Apr 2021 00:39:32 +0000 (20:39 -0400)]
a11y: Make things appear on focus in
We are starting with a pretty empty a11y object tree,
and we want orca to bring more of it into existence
by navigating the tree. But that only happens when we
send it events. Primarily focus events, which come in
from GTK via the platform_change mechanism. So realize
the context when we are sending platform_changes,
otherwise, orca never gets the mesage.
Matthias Clasen [Sat, 17 Apr 2021 23:02:53 +0000 (19:02 -0400)]
a11y: Actually set accessible roles
With most context realization happening inside
GtkAtspiContext in response to D-Bus calls, the
code in gtk_widget_realize_at_context that sets
the role is not executed for most accessibles,
causing them to be stuck with the 'filler' role
that makes orca ignore them.
To fix this, split gtk_widget_realize_at_context
into the actual context realization (getting on
the bus) and the setting of widget-specific
properties, and do the latter part when the
widget is rooted.
This makes accerciser report proper roles for
entries and buttons. Orca still has an issue
with getting the hierarchy populated.
Matthias Clasen [Sat, 17 Apr 2021 19:23:04 +0000 (15:23 -0400)]
a11y: Track window states more closely
Orca ignores events unless the object is inside an object
with role window and states ACTIVE and SHOWING. To arrange
for this, introduce a new ACTIVE platform state, and set it
for windows when they are active.
This gets orca to be a lot more talkative.
Matthias Clasen [Sat, 17 Apr 2021 19:21:41 +0000 (15:21 -0400)]
a11y: Add the root object to the cache
Not 100% sure this is necessary, but maybe it helps
to get orca up to speed.
Matthias Clasen [Sat, 17 Apr 2021 18:12:28 +0000 (14:12 -0400)]
atspicontext: Remove an unused field
We don't make any use of the cache field, so drop it.
Pawan Chitrakar [Mon, 19 Apr 2021 16:00:12 +0000 (16:00 +0000)]
Update Nepali translation
(cherry picked from commit
2a8fd6a4880c6e484cb8be081dff32095033cf2a)
Pawan Chitrakar [Mon, 19 Apr 2021 15:57:37 +0000 (15:57 +0000)]
Update Nepali translation
(cherry picked from commit
4e243d7d121eac1743f4103ff8af8bc3caba0c99)
Piotr Drąg [Sun, 18 Apr 2021 10:44:35 +0000 (12:44 +0200)]
Update Polish translation
Emmanuele Bassi [Sat, 17 Apr 2021 23:46:38 +0000 (23:46 +0000)]
Merge branch 'gtksecurememory-updates' into 'master'
gtksecurememory: Request that secure memory not be dumped to disk
See merge request GNOME/gtk!3452
Jason Francis [Sat, 17 Apr 2021 23:28:36 +0000 (19:28 -0400)]
meson: check for madvise()
Matthew Garrett [Fri, 19 Apr 2019 20:08:32 +0000 (13:08 -0700)]
gtksecurememory: Request that secure memory not be dumped to disk
Linux 3.4 added support for the MADV_DONTDUMP option to madvise(), which
requests that the covered memory not be included in coredumps. It makes
sense to use this to prevent cases where application crashes could
result in secrets being persisted to disk or included in dumps that are
uploaded to remote servers for analysis. I've avoided making this fatal
since there's a chance this code could be built on systems that have
MADV_DONTDUMP but run on systems that don't.
Matthias Clasen [Sat, 17 Apr 2021 16:39:20 +0000 (16:39 +0000)]
Merge branch 'a11y-debug' into 'master'
testatcontext: Print out platform changes
See merge request GNOME/gtk!3451
Matthias Clasen [Sat, 17 Apr 2021 15:59:04 +0000 (11:59 -0400)]
a11y: Add more debug spew
This is in an attempt to figure out why orca won't speak.
Matthias Clasen [Sat, 17 Apr 2021 02:18:52 +0000 (22:18 -0400)]
testatcontext: Print out platform changes
This helps debugging what changes orca sees.
Matthias Clasen [Fri, 16 Apr 2021 23:51:10 +0000 (23:51 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
image, picture: Move pixbuf code to gdkpixbufutils
See merge request GNOME/gtk!3449
Matthias Clasen [Fri, 16 Apr 2021 23:34:24 +0000 (19:34 -0400)]
placesview: Fix server mount feedback
We weren't properly resetting the in-entry progress.
Matthias Clasen [Fri, 16 Apr 2021 23:17:37 +0000 (19:17 -0400)]
placesview: Fix mounting remote locations
This was broken by a stupid copy-paste error.
Matthias Clasen [Fri, 16 Apr 2021 23:05:14 +0000 (19:05 -0400)]
mountoperation: Some cosmetics
Fix up the dialog minimally.
Matthias Clasen [Fri, 16 Apr 2021 22:05:21 +0000 (18:05 -0400)]
cssimageurl: Remove direct pixbuf use
Rely on the gdkpixbufutils api that gives us
a paintable.
Matthias Clasen [Fri, 16 Apr 2021 21:17:26 +0000 (17:17 -0400)]
image, picture: Move pixbuf code to gdkpixbufutils
This cleans up and moves the code to load files
while taking the scale into account. Along the way,
we drop the last uses of GdkPixbufAnimation, and
consolidate the pixbuf using code in one place.
Matthias Clasen [Fri, 16 Apr 2021 15:16:48 +0000 (15:16 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
pixbufutils: Remove an unused function
See merge request GNOME/gtk!3447
Matthias Clasen [Fri, 16 Apr 2021 15:16:28 +0000 (15:16 +0000)]
Merge branch 'wayland-xdg-surface-setup' into 'master'
wayland: Don't duplicate xdg_surface setup code
See merge request GNOME/gtk!3191
Jonas Ådahl [Fri, 16 Apr 2021 14:34:42 +0000 (14:34 +0000)]
Merge branch 'wayland-parent-shadow-refactor' into 'master'
wayland: Avoid directly accessing shadow property of parent surface
See merge request GNOME/gtk!3190
David Keijser [Wed, 3 Feb 2021 21:09:11 +0000 (22:09 +0100)]
wayland: Don't duplicate xdg_surface setup code
David Keijser [Sat, 30 Jan 2021 17:21:56 +0000 (18:21 +0100)]
wayland: Avoid directly accessing shadow property of parent surface
Matthias Clasen [Fri, 16 Apr 2021 10:52:43 +0000 (06:52 -0400)]
pixbufutils: Remove an unused function
Matthias Clasen [Fri, 16 Apr 2021 12:25:43 +0000 (12:25 +0000)]
Merge branch 'latest.glib.msvc' into 'master'
Fix builds against latest stable GLib with MSVC
See merge request GNOME/gtk!3443
Matthias Clasen [Fri, 16 Apr 2021 11:47:44 +0000 (11:47 +0000)]
Merge branch 'fix-focus-unsetting' into 'master'
window: Fix deferred focus unsetting
Closes #3413
See merge request GNOME/gtk!3446
Matthias Clasen [Fri, 16 Apr 2021 11:26:32 +0000 (07:26 -0400)]
window: Fix deferred focus unsetting
In commit
4a76abffd4d62cbb, we deferred unsetting focus
and default until after the next draw, overlooking the
case where the focus is set to another widget before we
ever get to the unsetting.
Fixes: #3413
Chun-wei Fan [Fri, 16 Apr 2021 03:36:18 +0000 (11:36 +0800)]
GTK: Fix builds against latest stable GLib with MSVC
GLib-2.68.x now considers warning C4098 ('void' function returning a value) as
an error, so avoid doing that.
Chun-wei Fan [Fri, 16 Apr 2021 03:33:00 +0000 (11:33 +0800)]
GSK: Fix builds against latest stable GLib with MSVC
GLib-2.68.x now considers warning C4098 ('void' function returning a value) as
an error, so avoid doing that.
Chun-wei Fan [Fri, 16 Apr 2021 03:22:27 +0000 (11:22 +0800)]
GDK: Fix builds against latest stable GLib with MSVC
GLib-2.68.x now considers warning C4098 ('void' function returning a value) as
an error, so avoid doing that.
Matthias Clasen [Thu, 15 Apr 2021 22:16:49 +0000 (22:16 +0000)]
Merge branch 'im-context-event-leak' into 'master'
imcontext: Eat key events during preedit
See merge request GNOME/gtk!3440
Matthias Clasen [Thu, 15 Apr 2021 21:31:09 +0000 (21:31 +0000)]
Merge branch 'theme-fallback-fix' into 'master'
themes: Make fallback work a bit better
See merge request GNOME/gtk!3441
Matthias Clasen [Thu, 15 Apr 2021 21:08:15 +0000 (17:08 -0400)]
themes: Make fallback work a bit better
One case we did not include in
fd329e0ec582d7562f444b is
Adwaita-dark -> Default:dark
It turns out that it is needed.
Matthias Clasen [Thu, 15 Apr 2021 20:59:02 +0000 (16:59 -0400)]
imcontext: Eat key events during preedit
Avoid passing through random key press or release
events while we are showing preedit. That prevents
'accidents' like typing Ctrl-. bringing up the
Emoji chooser during preedit, or hitting Ctrl-a
after the Compose key moving the 'dot' around in
vim in terminals.
Matthias Clasen [Thu, 15 Apr 2021 11:15:24 +0000 (11:15 +0000)]
Merge branch 'demo-manpages' into 'master'
meson: only build demo manpages when demos are enabled
See merge request GNOME/gtk!3438
Matthias Clasen [Thu, 15 Apr 2021 11:12:28 +0000 (11:12 +0000)]
Merge branch 'theme-icon-filter-fixes' into 'master'
theme: Use -gtk-icon-filter for full-color icons
See merge request GNOME/gtk!1990
nana-4 [Sat, 30 May 2020 21:37:06 +0000 (06:37 +0900)]
theme: Use -gtk-icon-filter for full-color icons
Not for symbolic icons.
Don't apply `-gtk-icon-filter: opacity(0.5);` to the symbolic icons as
they already have the "gray" colors indicating the disabled state.
Symbolic icons can be styled using the `color` property.
Also remove the obsolete comment.
Eli Schwartz [Wed, 14 Apr 2021 02:48:39 +0000 (22:48 -0400)]
meson: only build demo manpages when demos are enabled
Installing them even when manpages are enabled, but the demos are
disabled, produces manpages for unavailable programs...
Matthias Clasen [Wed, 14 Apr 2021 00:32:05 +0000 (00:32 +0000)]
Merge branch 'x11-quiet-exit' into 'master'
x11: Be quiet on exit by default
See merge request GNOME/gtk!3436
Matthias Clasen [Tue, 13 Apr 2021 22:02:44 +0000 (22:02 +0000)]
Merge branch 'ngl-crash' into 'master'
ngl: Fix a rare assertion violation
Closes #3853
See merge request GNOME/gtk!3434
Matthias Clasen [Tue, 13 Apr 2021 18:52:09 +0000 (14:52 -0400)]
x11: Be quiet on exit by default
The condition we check for to catch X servers going away
may not be accurate anymore, and the warning shows up in
logs, causing customers to be concerned. So, be quiet by
default, unless the user explicitly asked for a message.
Matthias Clasen [Tue, 13 Apr 2021 11:38:45 +0000 (11:38 +0000)]
Merge branch 'flatpak-highlight' into 'master'
flatpak: Include highlight in gtk4-demo flatpak
Closes #3867
See merge request GNOME/gtk!3433
Matthias Clasen [Tue, 13 Apr 2021 03:53:52 +0000 (23:53 -0400)]
flatpak: Include highlight in gtk4-demo flatpak
Include the highlight utility to make syntax
highlighting work in gtk4-demo. This requires
building its dependencies as well, boost and lua.
Matthias Clasen [Tue, 13 Apr 2021 02:51:01 +0000 (22:51 -0400)]
ngl: Fix a rare assertion violation
When we clean up the uniform allocations after a frame,
it can happen that our space requirements actually increase,
due to padding that depends on the order of allocations.
Instead of asserting that it doesn't happen, just make
it work by growing our allocation.
Fixes: #3853
Matthias Clasen [Tue, 13 Apr 2021 02:46:07 +0000 (02:46 +0000)]
Merge branch 'testsuite-asserts' into 'master'
testsuite: Reduce the use of g_assert
Closes #3864
See merge request GNOME/gtk!3432
Matthias Clasen [Tue, 13 Apr 2021 02:11:05 +0000 (22:11 -0400)]
build: Quiet the compiler
Don't use -Wnull-dereference when assertions are
disabled, since that causes the compiler to see
NULL everywhere.
Emmanuele Bassi [Mon, 12 Apr 2021 10:59:56 +0000 (11:59 +0100)]
wayland: Build with G_DISABLE_ASSERT
Emmanuele Bassi [Mon, 12 Apr 2021 10:29:24 +0000 (11:29 +0100)]
build: Don't append multiple flags as a string
The gtk_debug_cflags variable is an array, with each argument stored in
a separate string; if we add multiple arguments inside the same string
we break the escaping rules.
Fixes: #3864
Emmanuele Bassi [Mon, 12 Apr 2021 11:27:55 +0000 (12:27 +0100)]
gsk/ngl: Build with G_DISABLE_ASSERT enabled
Matthias Clasen [Tue, 13 Apr 2021 01:22:04 +0000 (21:22 -0400)]
Force g_test_init to cooperate
Change all g_test_init calls in the testsuite
to avoid the macro, so they work regardless of
G_DISABLE_ASSERT.
Matthias Clasen [Tue, 13 Apr 2021 00:57:02 +0000 (20:57 -0400)]
Make gtk_test_init work without assertions
The g_test_init macro 'helpfully' refuses to work when
assertions are disabled. So we just use the function.
Matthias Clasen [Tue, 13 Apr 2021 00:56:46 +0000 (20:56 -0400)]
Remove assertions in tests
Matthias Clasen [Tue, 13 Apr 2021 00:56:19 +0000 (20:56 -0400)]
Inspector: Fix a possible undefined use
Matthias Clasen [Tue, 13 Apr 2021 00:55:01 +0000 (20:55 -0400)]
Fix unused variable warnings
These happen for variables which are only used
in assertions, when assertions are disabled.
Matthias Clasen [Mon, 12 Apr 2021 21:12:01 +0000 (17:12 -0400)]
gtk-demo: Avoid compiler warnings without assertions
Avoid an unused variable warning.
Matthias Clasen [Mon, 12 Apr 2021 21:08:33 +0000 (17:08 -0400)]
gsk: Avoid compiler warnings without assertions
Disabling assertions was provoking some unused variable
warnings from the compiler. Avoid these.
Matthias Clasen [Mon, 12 Apr 2021 20:12:25 +0000 (16:12 -0400)]
testsuite: Reduce the use of g_assert
Stop using g_assert() in the gtk tests.
Matthias Clasen [Mon, 12 Apr 2021 19:30:29 +0000 (15:30 -0400)]
testsuite: Reduce the use of g_assert
Stop using g_assert() in the gsk tests.
Matthias Clasen [Mon, 12 Apr 2021 20:35:10 +0000 (20:35 +0000)]
Merge branch 'f16c.msvc' into 'master'
Fix F16C build/runtime detection on Visual Studio
See merge request GNOME/gtk!3429
Matthias Clasen [Mon, 12 Apr 2021 12:47:09 +0000 (12:47 +0000)]
Merge branch 'testsuite-asserts' into 'master'
testsuite: Reduce use of g_assert
See merge request GNOME/gtk!3431
Matthias Clasen [Mon, 12 Apr 2021 12:33:41 +0000 (08:33 -0400)]
testsuite: Reduce use of g_assert
Stop using g_assert() in the css tests.
Matthias Clasen [Mon, 12 Apr 2021 12:30:56 +0000 (08:30 -0400)]
testsuite: Reduce use of g_assert
Stop using g_assert() in the reftests.
Matthias Clasen [Mon, 12 Apr 2021 12:16:45 +0000 (08:16 -0400)]
testsuite: Reduce use of g_assert
Stop using g_assert() in the gdk tests.
Chun-wei Fan [Mon, 12 Apr 2021 09:58:46 +0000 (17:58 +0800)]
meson.build: Check for F16C on 32-bit Visual Studio
It is also possible to enable F16C instructions on 32-bit Visual Studio builds,
so also check for the compiler's ability to build F16C code on Visual Studio
32-bit instead of just bailing out.
Chun-wei Fan [Mon, 12 Apr 2021 08:48:15 +0000 (16:48 +0800)]
gsk/ngl/fp16.c: Implement runtime F16C detection on MSVC
We need to use __cpuid() to check for the presence of F16C instructions on
Visual Studio builds, and call the half_to_float4() or float_to_half4()
implementation accordingly, as the __builtin_cpu...() functions are strictly
for GCC or CLang only.
Also, since __m128i_u is not a standard intrisics type across the board, just
use __m128i on Visual Studio as it is safe to do so there for use for
_mm_loadl_epi64().
Like running on Darwin, we cannot use the alias __attribute__ as __attribute__
is also for GCC and CLang only.
Chun-wei Fan [Mon, 12 Apr 2021 08:24:37 +0000 (16:24 +0800)]
meson.build: Improve F16C detection on Visual Studio
The __builtin_cpu...() intrisics are strictly for GCC/CLang-based compilers, so
don't use them in the checking code on Visual Studio. The test code will still
compile without this change, but will certainly fail if we want it to link.
Matthias Clasen [Mon, 12 Apr 2021 05:07:29 +0000 (05:07 +0000)]
Merge branch 'ngl-shadow-fixes' into 'master'
ngl: Fix outset blurred shadows
See merge request GNOME/gtk!3427
Matthias Clasen [Mon, 12 Apr 2021 02:40:43 +0000 (02:40 +0000)]
Merge branch 'grouped-toggle-fix' into 'master'
togglebutton: Fix expected group behavior
See merge request GNOME/gtk!3425
Matthias Clasen [Mon, 12 Apr 2021 02:39:55 +0000 (02:39 +0000)]
Merge branch 'shadow-reduction' into 'master'
gsk: Don't overshadow
See merge request GNOME/gtk!3419
Matthias Clasen [Mon, 12 Apr 2021 02:26:36 +0000 (22:26 -0400)]
ngl: Fix unevenly scaled shadows
Ensure that we don't cut them off at the edges.
Matthias Clasen [Mon, 12 Apr 2021 02:09:45 +0000 (22:09 -0400)]
ngl: Don't slice unsliceable shadows
When the corners are too big to make slicing work,
don't do it, since it leads to broken results.
Matthias Clasen [Mon, 12 Apr 2021 02:02:44 +0000 (22:02 -0400)]
ngl: Fix a case of flipped shadow
In the non-sliced case, we were rendering the shadow
upside down.
Matthias Clasen [Mon, 12 Apr 2021 01:13:47 +0000 (21:13 -0400)]
ngl: Add code to dump shadows
This can be helpful in understanding shadow bugs.
Matthias Clasen [Sun, 11 Apr 2021 22:41:26 +0000 (22:41 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
menubutton: Propagate focus-on-click
See merge request GNOME/gtk!3424
Matthias Clasen [Sun, 11 Apr 2021 22:29:53 +0000 (18:29 -0400)]
togglebutton: Fix expected group behavior
The expectation is that a grouped button stays
active when you click it. Grouped check buttons
behave this way, and grouped toggle buttons should
too.
Matthias Clasen [Sun, 11 Apr 2021 19:31:31 +0000 (15:31 -0400)]
node-editor: Make header buttons not steal focus
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
Matthias Clasen [Sun, 11 Apr 2021 19:27:52 +0000 (15:27 -0400)]
icon browser: Make header buttons not steal focus
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
Matthias Clasen [Sun, 11 Apr 2021 19:24:10 +0000 (15:24 -0400)]
widget-factory: Make header buttons not steal focus
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
Matthias Clasen [Sun, 11 Apr 2021 19:23:24 +0000 (15:23 -0400)]
gtk-demo: Make header buttons not steal focus
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
Matthias Clasen [Sun, 11 Apr 2021 19:22:00 +0000 (15:22 -0400)]
menubutton: Propagate focus-on-click
Propagate the focus-on-click setting to the button
inside, so that setting menubuttons as !focus-on-click
works as expected. This helps for menubuttons in
header bars, where dragging on the button will otherwise
steal focus from the content.
Yuri Chornoivan [Sun, 11 Apr 2021 18:39:40 +0000 (18:39 +0000)]
Update Ukrainian translation
Matthias Clasen [Sun, 11 Apr 2021 18:23:54 +0000 (18:23 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
some small optimizations
See merge request GNOME/gtk!3423
Matthias Clasen [Sun, 11 Apr 2021 15:57:22 +0000 (11:57 -0400)]
ngl: Allow passing bounds to update_clip
update_clip only uses the bounds of the node that
we are currently passing. This opens the door to
updating the clip while handling a single node.
Matthias Clasen [Sat, 10 Apr 2021 15:23:06 +0000 (11:23 -0400)]
ngl: Small optimization for shadows
When 9-slicing shadows, omit the center tile when it is
entirely contained in the outline (that is not always
the case, depending on corners and offsets).
Matthias Clasen [Sun, 11 Apr 2021 00:52:50 +0000 (20:52 -0400)]
roundedrect: Speed up contains_rect and friends
gsk_rounded_rect_contains_rect was calling
gsk_rounded_rect_contains_point, which potentially
checks all four corners, for a total of up to 16
corner/point checks. But there is no need to do
more than 4 such checks to answer the question.
Matthias Clasen [Sun, 11 Apr 2021 00:26:45 +0000 (20:26 -0400)]
ngl: Small optimization
We really want equality here.
Matthias Clasen [Sat, 10 Apr 2021 15:42:58 +0000 (11:42 -0400)]
nodeeditor: Make the help window wide enough
Make the help window wide enough to show the
tables without wrapping.
Matthias Clasen [Sat, 10 Apr 2021 13:42:41 +0000 (13:42 +0000)]
Merge branch 'media-memory-leak' into 'master'
media: Fix a memory leak
See merge request GNOME/gtk!3420
Matthias Clasen [Sat, 10 Apr 2021 13:01:09 +0000 (09:01 -0400)]
media: Fix a memory leak
This was introduced in
e7dc82fa32f9c115607.
Matthias Clasen [Thu, 8 Apr 2021 13:36:51 +0000 (09:36 -0400)]
gsk: Don't overshadow
Reduce the cairo shadows to the same size as their GL brethren.